Haiku: skip renaming if filenames are the same
authorJessica Hamilton <jessica.l.hamilton@gmail.com>
Tue, 25 Apr 2017 23:15:41 +0000 (23:15 +0000)
committerJessica Hamilton <jessica.l.hamilton@gmail.com>
Tue, 25 Apr 2017 23:15:41 +0000 (23:15 +0000)
src/cargo/ops/cargo_rustc/mod.rs

index b20f5709b46daa3fe9685c0170cf6c567db022d1..ae3af71a6a758dda358cd0d1b25e5b0c7e15fc88 100644 (file)
@@ -369,7 +369,7 @@ fn rustc(cx: &mut Context, unit: &Unit, exec: Arc<Executor>) -> CargoResult<Work
             let src = dst.with_file_name(dst.file_name().unwrap()
                                             .to_str().unwrap()
                                             .replace(&real_name, &crate_name));
-            if src.exists() {
+            if src.exists() && src.file_name() != dst.file_name() {
                 fs::rename(&src, &dst).chain_error(|| {
                     internal(format!("could not rename crate {:?}", src))
                 })?;